The present invention relates to a prioritized sorting system wherein information is read into the system, the information being sorted on a conditional swap basis during write-in and read-out such that regardless of the order in which the informaton is written into the system, the information will be read out on the basis of the predetermined priority.
Automatic sorting of information is particularly required when either a large amount of information is required to be sorted or the sorting function is associated with an automatic monitoring or control or data processing system. For example, in order to alphabetize telephone books, hundred of thousands of names are required to be alphabetically sorted. Previous methods of sorting have required large amounts of computer time or a write-to-read delay which corresponds to the length of time required for a record to propagate through the list being sorted to the properly ranked location.
The present invention, however, is not limited to merely sorting names alphabetically but it has application generally to prioritizing data. Thus, in a prioritized sorting system such as that associated with sorting alphabetically a list of names, the priority which is established for this type of sorting system is the alphabet. On the other hand, the present invention can be used as a task scheduler. Tasks which have priority value assigned to them can be done in priority sequence by loading all new task requests into the present system. Whenever a running task is completed, finding the next highest priority task is simply a matter of making a read operation from the present invention.
Previous methods of prioritizing information or data have also required large amounts of computer time spent in searching through the stored information or the use of expensive content-addressable memories.
The present system uses low cost hardware to accomplish previously expensive sorting. The present invention also takes very short times to load, read or sort.